<?php
	//if (!isset($_SESSION)) { session_start(); }
  // Datos extraidos
  $lenguaje = 'es';
  //Archivos incluidos despues de la verficacion por seguridad.
  include_once('../../includes/fk_php/Connections/connection.php');
  
  switch($lenguaje): // Selecion de lenguaje de la apliacion
	case 'es': include_once('../../includes/fk_php/lenguaje_es(v2).php'); $DB_lenguaje = 'nom_es';
		break;
	case 'en': $DB_lenguaje = 'nom_en'; break;
  endswitch;

?>

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <style type="text/css">
		.add {
            background-image:url(../../fk_skin/add.gif) !important;
        }
        .remove {
            background-image:url(../../fk_skin/delete.gif) !important;
        }
		.buscar {
            background-image:url(../../fk_skin/buscar.gif) !important;
        }
		.refresh {
            background-image:url(../../fk_skin/refresh.png) !important;
        }
	</style>
  <link rel="stylesheet" type="text/css" href="../../includes/extjs/resources/css/ext-all.css" />
  <!-- LIBS -->
  <script type="text/javascript" src="../../includes/extjs/adapter/ext/ext-base.js"></script>
  <!-- ENDLIBS -->
  <script type="text/javascript" src="../../includes/extjs/ext-all.js"></script>
  <!--	EDITOR GRID --->
  <script type="text/javascript" src="../../includes/extjs/src/widgets/grid/EditorGrid.js"></script>
  
  <script type="text/javascript" src="../../includes/extjs/src/locale/ext-lang-<?=$lenguaje?>.js"></script>
  <script type="text/javascript">
//-------------------------------------------------------    
	Ext.onReady(function(){
		Ext.BLANK_IMAGE_URL = '../../includes/extjs/resources/images/default/s.gif';
		Ext.QuickTips.init(); 
		Ext.form.Field.prototype.msgTarget = 'side';
		//Funcionalidad de Boton de busqueda
		
		
	//Arreglo bidimensional de datos 
	var storegrid = new Ext.data.JsonStore({ // asignandole a la propiedad json la data
		url: 'mod_bodega_grid.php',
		root: 'data',
		fields: ['idbodega','nombre','codigopais','ubicacion','responsable','nombrepais']
	});  
	
	storegrid.load({params:{buscar:'todos'}});
	
	var store_paises= new Ext.data.JsonStore({  
			url:'paises_store.php',  
			root: 'data',  
			totalProperty: 'total',  
			fields: [  
				{name:'Idmenu', type: 'string'},  
				{name:'Nombremenu', type: 'string'}
			]  
		});
		store_paises.load();
	
	var mySelectionModel = new Ext.grid.CheckboxSelectionModel({singleSelect: false});
	
	function renderFecha(value){
		return Ext.util.Format.date(value, 'Y-m-d');
	}
	
	// CREACION DEL GRID ===============================
	var gridcentros = new Ext.grid.EditorGridPanel({//new Ext.grid.GridPanel({ //Creando el objeto Ext.grid.GridPanel
		renderTo: 'grid-div',
		store: storegrid,
		title: 'Mantenimientos de Bodegas',
		collapsible: true,
		frame: true,
		width:  '100%',
		clicksToEdit: 2,
		viewConfig: {forceFit: true},
		height: 600,
		stripeRows: false,
		autoScroll: true,
		border: false,
		loadMask: true,
		sm: mySelectionModel, //referencia al selectionModel
		columns: [
			new Ext.grid.CheckboxSelectionModel(),
			{
				id			: 'idbodega',
				dataIndex	: 'idbodega',
				header		: 'ID',
				width		: 200,
				hidden		:true,
				sortable	: true
			},
			{
				id			: 'nombre',
				dataIndex	: 'nombre',
				header		: 'Nombre',
				width		: 450,
				sortable	: true
			},
			{
				dataIndex	: 'codigopais',
				header		: 'Pais',
				width		: 350,
				hidden		:true,
				sortable	: true
			},
			{
				id			: 'ubicacion',
				dataIndex	: 'ubicacion',
				header		: 'Ubicacion',
				width		: 450,
				sortable	: true
			},
			{
				id			: 'responsable',
				dataIndex	: 'responsable',
				header		: 'Responsable',
				width		: 450,
				sortable	: true
			},
			{
				id			: 'nombrepais',
				dataIndex	: 'nombrepais',
				header		: 'Nombre Pais',
				width		: 450,
				sortable	: true
			}
			],tbar: [
			'->',
                 {
                    text: 'Agregar',
                    tooltip: 'Click para agregar un usuario',
					iconCls:'add',
                    handler: agregarnuevouser //what happens when user clicks on it
                }, 
				'-',
				{
                    text: 'Borrar',
                    tooltip: 'Click para eliminarlo',
                    handler: borrar,
                    iconCls:'remove'
                },
				'-',
				{
                    text: 'Buscar',
                    tooltip: 'Click para buscar',
                    handler: buscar,
                    iconCls:'buscar'
                },'-',
				{
                    text: 'Actualizar',
                    tooltip: 'Click para buscar',
                    handler: function(){
						storegrid.reload({params:{buscar:'todos'}});
					},
                    iconCls:'refresh'
                }
            ]
	});
	//
	//----------------------------------------
	
	Ext.override(Ext.form.Field, {
    setReadOnly: function(readOnly) {
        if (readOnly == this.readOnly) {
            return;
        }
        this.readOnly = readOnly;

        if (readOnly) {
            this.el.dom.setAttribute('readOnly', true);
        } else {
            this.el.dom.removeAttribute('readOnly');
        }
    }
	});
	
	gridcentros.on({
		'dblclick': 	{
				fn: function(){
					var selections = this.selModel.getSelections();
					Ext.each(selections,function(records){ 
						//console.log(records);
						agregarnuevouser();
						Ext.getCmp('actualizar').setValue('1');
						Ext.getCmp('form').getForm().loadRecord(records);
					});
				}
		}
	});	
	
	function buscar(){	
			Ext.MessageBox.prompt('<?=Title_busqueda; ?>', '<?=TITLE_AUX_08; ?>', function(btn,text){
				if(btn === 'ok'){
					if(text=="")text="todos";
					storegrid.load({params:{buscar:text}});											
				}
			});
	}	
function agregarnuevouser(){
		
		
		
		Ext.apply(Ext.form.VTypes,{
				uppercase:function(val,field) {      
						var texto = val;
						texto = Ext.util.Format.uppercase(texto);
						field.setRawValue(texto);
						return true;          
						  }
		});
	var tabs = new Ext.FormPanel({
			labelWidth: 75,
			id: 'form',
			labelAlign: 'top',
			border:false,
			defaults:{autoHeight:true, bodyStyle:'padding:10px'}, 
			width: 400,
			items:[
				{
				xtype:'tabpanel',
				activeTab: 0,
				border: false,
				items: [
				{
						title:'Insertar Bodegas',
						border: false,
						items:[
							{
								layout:'column',
								border: false,
								items:[
									{
										columnWidth:.50,
										layout:'form',
										border: false,
										items: [
											{
												xtype: 'textfield',
												fieldLabel: '<b>Nombre<font color="#EC9001">*</font></b>',
												labelStyle: 'font-size:10px;',
												name: 'nombre',
												id:'nombre',
												vtype:'uppercase',
												allowBlank:false,
												width: 250
											}
										]
									},
									{
										columnWidth:.35,
										layout:'form',
										border: false,
										items: [ 
											{
												xtype: 'textfield',
												fieldLabel: '<b>Ubicacion<font color="#EC9001">*</font></b>',
												labelStyle: 'font-size:10px;',
												name: 'ubicacion',
												id:'ubicacion',
												width: 250
											}
										]
									},
									{
										columnWidth:.5,
										layout:'form',
										border: false,
										items: [
											{
												xtype: 'textfield',
												fieldLabel: '<b>Responsable<font color="#EC9001">*</font></b>',
												labelStyle: 'font-size:10px;',
												name: 'responsable',
												id:'responsable',
												vtype:'uppercase',
												allowBlank:false,
												width: 250
											},
											{
												xtype:'hidden',
												name:'actualizar',
												id:'actualizar',
												value:0
											},
											{
												xtype: 'numberfield',
												name: 'idbodega',
												id:'idbodega',
												hidden:true,
												width: 100
											}
										]
									},
									{
										columnWidth:.5,
										layout:'form',
										border: false,
										items: [ 
											{
												xtype       : 'combo',
												id          : 'codigopais',
												fieldLabel  : '<b>Pais<font color="#EC9001">*</font></b>',
												labelStyle  : 'font-size:10px;',
												hiddenName  : 'paisId',  
												name        : 'centro_red',
												loadingText : "Cargando...",
												emptyText   : "Seleccione un pais...",
												mode        : 'local', 
												allowBlank  : false,
												disabled    : false,
												width       : 250,  
												displayField: 'Nombremenu',  
												valueField  : 'Idmenu',
												store		: store_paises
											}
										]
									}
								]//Fin de las columnas
							}//Fin de Fila 1
							//Fin de Seccion de una columna
						]
					} 
				]
				}], //Fin del tab
			agregar_form: function(){
				//Primero, se valida si no se estan violando validaciones cliente
				if (this.getForm().isValid()){
					//Empieza el proceso de envio
					this.getForm().submit({
						//Parametros para el envio
						url: 'login_bodegas.php',
						method: 'POST',
						//Mascaras
						waitTitle: 'Conectando',
						waitMsg: 'Validando formulario..',
						//Envio Exitoso
						success: function(form, action){
							Ext.Msg.minWidth = 400;
							Ext.Msg.show({
									   title:'Conexi&oacute;n Exitosa',
									   msg: action.result.msg,
									   buttons: Ext.Msg.OK,
									   icon: Ext.Msg.INFO,
									   fn: function(){
											window_config.close();
											storegrid.removeAll();
											storegrid.load( {params:{idciuddad : action.result.padre, buscar:'todos'}} );
									   }
							});
						},
						//Envio fallido
						failure: function(form, action){
							//Erro data
							if (action.failureType == 'server') {
								var data = Ext.util.JSON.decode(action.response.responseText);
								Ext.Msg.alert('conexi&oacute;n Fallida', data.errors.reason, function(){
									txtUsuario.focus(true, 100);
								});
							}
							//Error archivo
							else {
								Ext.Msg.alert('Error!', 'El servidor de autenticacion es inalcanzable : ' + action.response.responseText);
							}
						}
						
					});
				}
			}
			});
		
		var window_config;
		
		if(!window_config){
		
		window_config= new Ext.Window({
			title: 'Mantenimiento de Bodegas',
			width: "100%",
			height:500,
			modal: true,
			resizable : false,
			layout: 'fit',
			items: [tabs],
			buttons: [
				{
					text: '<?=Title_agregar?>',
					width: 78,
					handler: function(){
						tabs.agregar_form();
					}
				},
				{
                    text: '<?=Title_limpiar?>',
                    handler: function()
                    {
                        tabs.getForm().reset();
                    }
                 },
				{
					text: '<?=Title_cancelar?>',
					width: 78,
					handler: function(){
						window_config.close();
					}
				}
			]
		});
		
		}
		
		window_config.show();
	}
	//Boton Borrar
	function borrar(){
			Ext.MessageBox.confirm('<?=Title_confirmacion ?>', '<?=PrgAdmin_002?>', function(btn){
				if(btn === 'yes'){
					var selections = gridcentros.selModel.getSelections();
					Ext.each(selections,function(record){
						id = record.get('idbodega');
						storegrid.load({params:{buscar:'todos',proceso:'del',ident:id}});
					});
				}
			});
		};
		
  
		});
		
</script>
  <!-- 	Estilo interno -->
  <style type="text/css">
  body,td,th {
  font-family: Verdana, Geneva, sans-serif;
  }
  </style>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" >
<div id="grid-div" ></div>
</body>
</html>